package Administrador.Interfaz;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 *
 * @author lisafbe
 */
public class VentanaPersonal extends Ventana implements ActionListener {

    public JFrame ventanaPersonal;
    public CardLayout cardLayout;
    JPanel panelDinamico;
    PanelCentral panelCentral;
    public JLabel personal;

    public JButton nvPersonal, ctPersonal, mdPersonal, elmPersonal, btPrincipal;

    public VentanaPersonal() {
        ventanaPersonal = new JFrame("SIVOUT-Sistema de Manejo de informacion de ventas para Outdoor-Shop");
        ventanaPersonal.setSize(1050, 620);
        ventanaPersonal.setLocationRelativeTo(null);
        ventanaPersonal.setLayout(null);
        ventanaPersonal.setResizable(false);
        ventanaPersonal.setVisible(true);
        ventanaPersonal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        ventanaPersonal.add(acomodarComponentes());
    }

    protected JPanel acomodarComponentes() {

        cardLayout = new CardLayout();
        panelCentral = new PanelCentral();

        //Contiene todos los paneles de la ventana
        JPanel contenedor = new JPanel();
        contenedor.setSize(1050, 620);
        contenedor.setLayout(null);

        //Contiene Imagen de Fondo y transparencia de fondo. Crear para todos los Frames
        JPanel contenidoFondo = asignarPanelGeneral();
        contenidoFondo.setBounds(0, 0, 1050, 620);
        contenidoFondo.setLayout(null);

        inicializarBotonesYEtiquetasLaterales();
      //Contiene los botones laterales: nuevo,consultar,modificar,eliminar y etiquetas laterales.
        // Maximo 8 botones, maximo 2 labels. Crear para tienda,Personal,Clientes,Reportes
        JPanel panelLateral = panelCentral.obtenerPanelLateral(personal, null, btPrincipal,
                nvPersonal, ctPersonal, mdPersonal, elmPersonal, null, null, null, null);

        //Fondo para el Panel derecho y el titulo de la barra gris.
        JPanel panelPrincipal = panelCentral.obtenerPanelPrincipal("ADMINISTRAR INFORMACION DEL PERSONAL");

        //Contiene todos los paneles que se mostraran segun el boton clickeado.
        JPanel panelD = acomodarPaneles();

        //Se adicionan los paneles al contenedor
        contenedor.add(panelD);
        contenedor.add(panelPrincipal);
        contenedor.add(panelLateral);
        contenedor.add(contenidoFondo);
        return contenedor;

    }

    public void inicializarBotonesYEtiquetasLaterales() {
        personal = new JLabel("Personal");

        btPrincipal = new BotonTransparente(Color.BLACK);
        btPrincipal.setText("Principal");
        btPrincipal.addActionListener(this);

        nvPersonal = new BotonTransparente(Color.BLACK);
        nvPersonal.setText("Nuevo");
        nvPersonal.addActionListener(this);

        ctPersonal = new BotonTransparente(Color.BLACK);
        ctPersonal.setText("Consultar");
        ctPersonal.addActionListener(this);

        mdPersonal = new BotonTransparente(Color.BLACK);
        mdPersonal.setText("Modificar");
        mdPersonal.addActionListener(this);

        elmPersonal = new BotonTransparente(Color.BLACK);
        elmPersonal.setText("Eliminar");
        elmPersonal.addActionListener(this);

    }

    public JPanel acomodarPaneles() {

        InterfazPersonal objPersonal = new InterfazPersonal();

        JPanel panelInicial = new JPanel();
        panelInicial.setOpaque(false);

        //Contienen los paneles que se mostraran segun el boton clickeado.
        panelDinamico = new JPanel();
        panelDinamico.setLayout(cardLayout);
        panelDinamico.setOpaque(false);
        panelDinamico.setVisible(true);

        // se ingresa el objeto panel y se le asigna un nombre.
        panelDinamico.add(panelInicial, "panelPersonal");
        panelDinamico.add(objPersonal.registrarPersonal(), "panelA");
        panelDinamico.add(objPersonal.consultarPersonal(), "panelB");
        panelDinamico.add(objPersonal.modificarPersonal(), "panelC");
        panelDinamico.add(objPersonal.eliminarPersonal(), "panelD");

        panelDinamico.setBounds(184, 70, 870, 490);

        return panelDinamico;

    }

    @Override
    public void actionPerformed(ActionEvent evento) {

        if(evento.getSource()== btPrincipal)
        {
            new VentanaPrincipal();
            ventanaPersonal.dispose();
        } else{
            if(evento.getSource()== nvPersonal)
        {
            cardLayout.show(panelDinamico, "panelA");
        } else {
            if (evento.getSource() == ctPersonal) {
                cardLayout.show(panelDinamico, "panelB");
            } else {
                if (evento.getSource() == mdPersonal) {
                    cardLayout.show(panelDinamico, "panelC");
                } else {
                    if (evento.getSource() == elmPersonal) {
                        cardLayout.show(panelDinamico, "panelD");
                    } else {
                        if (evento.getSource() == btPrincipal) {

                           new VentanaPrincipal();
                        }
                    }
                }
            }

        
    }}}}

